﻿namespace Google.Analytics.Model.Queries
{
    /// <summary>
    /// Custom enumeration for dimensions, with <see cref="Group"/> attribute
    /// </summary>
    public enum Dimensions
    {
        [Group("Visitor")]
        Browser,
        [Group("Visitor")]
        BrowserVersion,
        [Group("Visitor")]
        City,
        [Group("Visitor")]
        ConnectionSpeed,
        [Group("Visitor")]
        Continent,
        [Group("Visitor")]
        Country,
        [Group("Visitor")]
        Date,
        [Group("Visitor")]
        Day,
        [Group("Visitor")]
        DaysSinceLastVisit,
        [Group("Visitor")]
        FlashVersion,
        [Group("Visitor")]
        HostName,
        [Group("Visitor")]
        Hour,
        [Group("Visitor")]
        JavaEnabled,
        [Group("Visitor")]
        Language,
        [Group("Visitor")]
        Latitude,
        [Group("Visitor")]
        Longitude,
        [Group("Visitor")]
        Month,
        [Group("Visitor")]
        NetworkDomain,
        [Group("Visitor")]
        NetworkLocation,
        [Group("Visitor")]
        PageDepth,
        [Group("Visitor")]
        OperatingSystem,
        [Group("Visitor")]
        OperatingSystemVersion,
        [Group("Visitor")]
        Region,
        [Group("Visitor")]
        ScreenColors,
        [Group("Visitor")]
        ScreenResolution,
        [Group("Visitor")]
        SubContinent,
        [Group("Visitor")]
        UserDefinedValue,
        [Group("Visitor")]
        VisitCount,
        [Group("Visitor")]
        VisitLength,
        [Group("Visitor")]
        VisitorType,
        [Group("Visitor")]
        Week,
        [Group("Visitor")]
        Year,

        [Group("Campaign")]
        AdContent,
        [Group("Campaign")]
        AdGroup,
        [Group("Campaign")]
        AdSlot,
        [Group("Campaign")]
        AdSlotPosition,
        [Group("Campaign")]
        Campaign,
        [Group("Campaign")]
        Keyword,
        [Group("Campaign")]
        Medium,
        [Group("Campaign")]
        ReferralPath,
        [Group("Campaign")]
        Source,

        [Group("Content")]
        ExitPagePath,
        [Group("Content")]
        LandingPagePath,
        [Group("Content")]
        PagePath,
        [Group("Content")]
        PageTitle,
        [Group("Content")]
        SecondPagePath,

        [Group("Ecommerce")]
        Affiliation,
        [Group("Ecommerce")]
        DaysToTransaction,
        [Group("Ecommerce")]
        ProductCategory,
        [Group("Ecommerce")]
        ProductName,
        [Group("Ecommerce")]
        ProductSku,
        [Group("Ecommerce")]
        TransactionId,
        [Group("Ecommerce")]
        VisitsToTransaction,

        [Group("InternalSearch")]
        SearchCategory,
        [Group("InternalSearch")]
        SearchDestinationPage,
        [Group("InternalSearch")]
        SearchKeyword,
        [Group("InternalSearch")]
        SearchKeywordRefinement,
        [Group("InternalSearch")]
        SearchStartPage,
        [Group("InternalSearch")]
        SearchUsed,

        [Group("Navigation")]
        NextPagePath,
        [Group("Navigation")]
        PreviousPagePath,

        [Group("Events")]
        EventCategory,
        [Group("Events")]
        EventAction,
        [Group("Events")]
        EventLabel
    }
}
